<#assign className = table.className>   
<#assign classNameLower = className?uncap_first>
package ${basepackage}.${namespace};

import com.fc.component.base.BaseProjectModel;
import com.fc.jfinal.component.annotation.ModelBind;

@ModelBind(table = "${table.constantName}")
public class ${className} extends BaseProjectModel<${className}> {

	private static final long serialVersionUID = 1L;
	public static final ${className} dao = new ${className}();
	
	<#list table.columns as column>	
	private String ${column.sqlName} ="${column.sqlName}";<#if (column.remarks?length>0)>/* ${column.remarks}  ${column.size} ${column.sqlTypeName}*/</#if>
	</#list>

<@generateJavaColumns/>


<#macro generateJavaColumns>
	<#list table.columns as column>
	
	<#if (column.remarks?length>0)>/** ${column.remarks} */</#if>
	public void set${column.columnName}(${column.javaType} value) {
		set(${column.sqlName}, value);
	}
	
	<#if (column.remarks?length>0)>/** ${column.remarks} */</#if>
	public ${column.javaType} get${column.columnName}() {
		return get(${column.sqlName});
	}
	</#list>
</#macro>


	@Override
	public String toString() {
		String log = "";
		<#list table.columns as column>	
		log += "[${column.columnNameLower}:" + get${column.columnName}() + "]";
		</#list>
		return log;
	}
}